1. Field
One or more example embodiments of the following description relate to an apparatus and method for dynamically reconfiguring an Operating System (OS) for a manycore system that may provide a scheme of dynamically and efficiently managing reconfigurable resources.
2. Description of the Related Art
Due to an increase in demand for low power and high performance of applications, a manycore system employing a plurality of processing cores is on the rise. To efficiently manage resources of a manycore system, a method of partitioning the manycore system into relatively smaller partitions and assigning the partitions to an individual application is frequently used.
FIGS. 1A and 1B illustrate diagrams of a conventional hypervisor-based manycore OS, and a conventional microkernel-based manycore OS, respectively.
Referring to FIG. 1A, resources may be partitioned using a hypervisor 110, and an OS 120 and an application 130 may be executed for each of the partitioned resources. However, there is a disadvantage in that the partitioned resources remain unchanged during initialization of a system and the OS 120.
Referring to FIG. 1B, only a minimum function of an OS 150, for example a resource management or a communication between cores, may be provided, and the other functions may be provided as services in a separate partition. Additionally, partitions may be dynamically assigned based on demands of an application.
However, since a partition for an OS needs to be fixed and assigned, usability of the cores may be reduced. In other words, conventional designs may have a problem of a low usability of cores due to a fixed function of a part of or all of cores. Additionally, there is a disadvantage in that a response time of an OS system call is extended by adding a layer, for example a microkernel, a hypervisor, and the like.